To detect and resolve a software problem, it is typically necessary to identify and isolate the software components involved in the scenario wherein the software problem has occurred. For simplicity, these scenarios may be referred to hereinafter as “usage scenarios.”